Physicist's Introduction to Mathematica 6

Third Edition 2007

PHYSICS 200

Nicholas Wheeler

NOTE: The first editionof this material, written during the summer of 2000, was designed in the presumption that Mathematica 4 would be running on Macintosh OS 9. By the summer of 2006 Mathematica had acquired new capabilities, and OS X had become commonplace. My 2nd edition, intended to take into account those developments, was written in the presumption that Mathematica 5.2 would be running on OS X version 10.4 or a comparable system.

Now Mathematica 6 has appeared, which has new capabilities, but has been stripped of many of the features most characteristic of  Mathematica 5.2. The differences are so great that notebooks written in 5.2 typically will not run (or at least will not run smoothly) on 6. I have been obliged to start once again, from scratch.

Laboratory 0

Why Bother to Learn Mathematica?

Until a few years ago my own response to that question would have been "Why indeed? I became a physicist in order to learn some things about how Nature works, not things about v.6 of some proprietary software…described in a book thicker and heavier than any of my physics books!" But the fact of the matter is that we probe Nature not with our bare hands, but with tools—man-made contrivances, whether we call them principles, theorems, analytical techniques or multi-channel analyzers. So the short answer is: Because Mathematica is a wonderful new tool—sharper and more broadly useful than most others that spring to mind, and remarkably easy to use.

Mathematica, first released in June 1988, is a creation of Stephen Wolfram (born in 1959).  It provides an almost exhaustive compendium of mathematical data and information, and a computing engine of such immeasurably broad potential that few can claim mastery of all its parts…which is why The Mathematica Book is so thick, and why so much supplemental material (books, downloadable software) treating this or that special area of application have come into being. Let us therefore accept at the outset that our present objective must be a limited one—to gain a working familiarity with the elementary first principles of Mathematica, and some rough sense of its potential.  Refined procedures we agree to reserve for the day when the work at hand requires that we move beyond the basics, and lends urgency to the effort.

It will very soon become apparent to you that Mathematica is so powerful—and so easy to control—that it opens a door to quick-and-easy mathematical experimentation that until now has stood shut even to the greatest minds—a door to an entirely new and much more improvisatory way of thinking about and doing pure & applied mathematics.  You will find yourself in position to do things that formerly you would not even have dreamed of doing (certainly not of doing casually, without a lot of labor-intensive special-purpose programming), and that the formulation/testing of conjectures has come to occupy a central position in your mathematical life.

Getting Started…and Stopped

I begin with a cautionary word: It is inevitable that you will from time to time (and especially in the beginning) steer Mathematica off the road, and have to Restart.  To avoid catastrophy

Be sure that you have Saved open  documents running in other applications.

Mathematica comes in two large and semi-autonomous packages:

You already have the front end running (may have turned it on by selecting and double-clicking Mathematica 6 in your Applications folder). To turn on the kernel and (more to the point) to establish communication between the front end and the kernel the traditional procedure is to type 2-2 and hit ENTER:

2-2

That took several seconds—a long time by the standard to which you will become accustomed, because the kernel is fat. Note that, while the kernel was performing its work your input acquired an input number, and the output (when at last it appeared) was assigned a corresponding output number.

To experience the often blinding speed of Mathematica, try

1000!

REMARK: If you SELECT the bracket that embraces both input and output, and then double-click, the output will disappear from view and a down-pointing arrow will appear on the right. Select and double-click again to make the output reappear. Try it!

Expand[(1+x)^100]

That was fast. Some calculations, of course, take longer—maybe much longer. Occasionally it is of interest to know how long it took Mathematica to perform a given calculation. To provide that information, Mathematica provides the command Timing. To learn about that command one proceeds as one proceeds to learn about any command: enter the command

?Timing

To obtain more detailed information, and to see examples, double click on the ≫.

To illustrate use of the Timing command I provide now an example of a calculation that takes about 15 seconds to perform. Notice that while the Kernel is busy with the calculation the word Running appears at the top of the page. If you enter additional commands while the Running flag flys, the Kernel will read/execute them in sequence after it has completed its present work.

cornu[t_]:={(∫_0^t)Sin[(u^2)]\[DifferentialD]u,(∫_0^t)Cos[(u^2)]\[DifferentialD]u}

ParametricPlot[Evaluate[cornu[t]],{t,-10,10},
AspectRatio->Automatic]//Timing

That pretty figure shows the Cornu spiral, which acquires importance in physical optics (diffraction theory).

Terminating a Running Calculation

Not infrequently you will want, for one reason or another, to terminate a calculation. Maybe you've realized you have asked Mathematica to do the wrong thing, or the calculation has run so long that you suspect (unfortunately, Mathematica returns no progress reports) something may be wrong with your command, or Mathematica reports back that it has been caught up in an endless loop. In such cases the first thing to try is

⌘.  Simple abort: hold down ⌘ and press period…and wait.

Equivalently, you might select Abort Evaluation from the front end's Evaluation menu.The kernel has to "back up," so the wait is roughly proportional to how deep you were into the calculation, but eventually (after perhaps several seconds or minutes) an Out[#]=Aborted should appear.

But Mathematica, once started, reveals a single-minded reluctance to quit, and after a long wait you may conclude that the simple technique just described is not going to work. Or perhaps you are simply tired of waiting. Try

Evaluation > Quit Kernel

or

⌘q  Simple quit Mathematica: you will be asked if you want to Save your work,

then both the front end and the kernel will shut down, and you will have to Restart the application. If that is ineffective, try hitting

⌘⌥Esc Hard dump of the kernel. Save your work, Quit Mathematica, Restart.

Finally, you can turn off the computer (a "forced quit" may be necessary) or, in dire cases, unplug the computer…but will lose any unsaved open documents. It is in anticipation of such an event (or other misfortune) that you should be careful to

Save your notebook at frequent intervals.

SUGGESTION: WRITE THOSE ALTERNATIVE TERMINATION METHODS DOWN ON A SLIP OF PAPER. For when you most need them you will not be able to access this notebook (or any other source) where they are described.

Notebooks

Mathematica documents are called "notebooks," and wear the suffix .nb  Open the File menu, select New (alternatively: hit ⌘n), and you have created a new notebook.  Use File > Save As… (alternatively: ⇧⌘s) to name and save the notebook.

Notebooks can be rendered in various "styles"—designs intended for different uses. Mathematica 6 is shipped with 17 canned designs: open Format > Stylesheet to see the list and sublists.  Try them, one after the other, to see what they do to this text, which I have written (and  prefer to have read) in Book > Textbook style.

Different canned styles come equipped with different sets of options—few in some cases, numerous in others. Open Window, note the control options placed thus at your disposal, and activate Show Toolbar. Select the Default style, and open the ToolBar menu: it shows only a few options. Now return to Textbook Style: it shows dozens of options…which is one (but only one) of the reasons I have elected to work in that style.

Under Format you find Edit Stylesheet, and someday you may have occasion to do just that.  But for the moment we have already in hand all the resources we will need. My general advice:

For access to a lot of useful information about this broad topic and the topic  addressed below, go to Documentation Center and search for tutorial/InputAndOutputInNotebooksOverview.

Input Techniques &Tips

Mathematica assigns distinct and non-interchangeable responsibilities to ( ), [ ] and { }. Those I will explain in a moment. But first a

TIP: The correct way to type (stuff) is not to type ( then stuff then ) but

( )  then the stepleft key ← then  stuff and finally  the stepright key →

That way, having typed a (,  you will avoid both the danger of forgetting or misplacing the ), and will avoid also the distraction of Mathematica's signal that it has detected an unclosed parenthetic. A similar remark pertains—for the same reasons—to running TEX…and, indeed, to all electronic keyboard work.

• Mathematica reserves ( ) to delimit expressions, as in (1+x)^n and (a+b)(c+d).

• Mathematica reserves [ ] to identify the arguments of functions, where the term "function" is (as will emerge) very broadly construed; simple examples are f[x,y] and Sin[x].

• Mathematica reserves { } to identify lists, where again the term will be very broadly construed; thus {2,3,5,7,11,13} is a list of primes, and {{a,b},{c,d}} is a list of lists (i.e., a matrix):

{{a,b},{c,d}}//MatrixForm

Palettes

Versions 1 (1988) and 2 (1991) of Mathematica required one to communicate with the front end in a kind of one-dimensional "telegraphic" code.  For example, to evaluate  (∫_( 0)^( ∞))x (e^(-(x^3)))dx one had to enter

Integrate[x Exp[-x^3],{x,0,Infinity}]

That, as you see, still works, and is the style still preferred by some people. It is—in simple contexts—often the quickest way to go, but never pretty. For many commands the telegraphic style remains mandatory in Version 6; look, for example—picking one from a zillion—to the following command:

Plot[SinIntegral[x], {x,0,20},PlotRange->All]

But—beginning with Version 3 (1996) and continuing with Versions 4 (1999), 5 (2005) and 6 (2007)—it has become possible to enter many commands using a "two-dimensional" code that looks much like ordinary mathematical notation you use when working by hand or create when writing in TEX. Returning to our recent example: to evaluate (∫_( 0)^( ∞))x (e^(-(x^3)))dx one might use the BasicMathInput palette (of which more in a minute) to construct the command

(∫_0^∞)x (E^(-(x^3)))\[DifferentialD]x

which, as you see, functions exactly like its telegraphic counterpart. The standard collection serves most needs, but can readily be expanded by the user who has specialized requirements.

The Palettes menu leads you to a selection of six pallets listed above the line (I will have nothing to say about the advanced options below the line, or the procedure you can use to construct palettes that serve your specialized needs). Open each, to get a rough sense of the lay of the land. The AlgebraicManipulation palette provides quick access to common commands we will soon commit to memory, so is of relatively little use. Of especially high utility is the BasicMathInput palette, which you will often want to have available in some handy position on your computer screen. Also of very frequent use are the resources of the SpecialCharacters palette, which is seen to be really a collection of twelve palettes: Palettes > SpecialCharacters and Insert > SpecialCharacter... serve equally well to get you there.

Concerning the BasicMathInput, a CAUTIONARY WARNING is in order, for Mathematica 6 has in this connection developed an unfortunate quirk. Suppose we are working in "Textbook" style, and (because we went Window > ✓ Show Toolbar at the beginning of this work session) have the "Toolbar" showing (which is always a good idea). Suppose, moreover, that—having placed ourselves in the Input mode—we propose to use the BasicMathInput to write

∫\[Placeholder]\[DifferentialD]\[Placeholder]

We are astounded to discover that the symbol actually created by the "integrate" button looks like this

∫□d□

and that Mathematica has flipped spontaneously into "Title" mode. To create the symbol we intended, and to get on with writing out intended command, we have to return to the Toolbar and—by hand—flip back into Input mode. It turns out that this disease is present only when the BasicMathInput palette is being used to creat the first symbol of a command: no problem arises if the palette is used to create subsequent symbols. We can use that circumstant to construct a WORKAROUND: To create (say)

∫\[Placeholder]\[DifferentialD]\[Placeholder]

first type (say)

q∫\[Placeholder]\[DifferentialD]\[Placeholder]

and then erase the q. Alternatively (and just as quickly) one can avoid the problem altogether by using the keyboard (in the manner discussed below) to create 2-dimensional symbols. For  example, one has only to type EscinttEsc to create

∫\[Placeholder]\[DifferentialD]\[Placeholder]

What distinguishes the ■ boxes from the □ boxes that are evident on the BasicMathInput palette? The answer is made obvious by example. If you were to enter

(x^2)+Sin[x]

as Input, then to Select that expression and to hit the ∫■d□ button, the expression would go inside the ■, producing

∫((x^2)+Sin[x])\[DifferentialD]\[Placeholder]

Now place the cursor on □, type x and get

∫((x^2)+Sin[x])\[DifferentialD]x

Similarly, we might type and Select (■^□) button, on the other hand, gives

1+(Sqrt[1+((a+x)/b)])

and then hit the (■^□) button to obtain

(((1+(Sqrt[1+((a+x)/b)])))^\[Placeholder])

which, after entering a 3 into the □ becomes

(((1+(Sqrt[1+((a+x)/b)])))^3)

Our final example makes clear the fact that in some contexts ■ distinguishes the box into which the next keystroke will be inserted (Mathematica manuals often call ■ the "SelectionPlaceholder," and □ simply "a Placeholder"). We have interest in a 5× 7 matrix, so go Insert > Table/Matrix > New and, by selection the appropriate options, create

(({{\[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}, {\[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}, {\[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}, {\[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}, {\[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}}))

Placing the cursor on □ the in the upper left corner, we type a⇥b⇥c↓d↓e↓f⇥g⇥h↑i⇥j to create

(({{a, b, c, \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}, {\[Placeholder], \[Placeholder], d, \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}, {\[Placeholder], \[Placeholder], e, \[Placeholder], i, j, \[Placeholder]}, {\[Placeholder], \[Placeholder], f, g, h, \[Placeholder], \[Placeholder]}, {\[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}}))

This illustrates how (very commonly) ⇥ and (less commonly) ↓, ↑, ← and → are used to adjust the location of the box ■ that will receive the next keystroke.

Creating 2-Dimensional Commands & Special Symbols at the Keyboard

Palette buttons are a great aid to speed and legibility.  But they require use of the mouse, and in some situations their repetitive use can become tedious (though deft use of Cut/Copy/Paste often permits accelerated escape from the tedium). It is useful to know that the action of palette buttons can often be achieved directly from the keyboard. Open Palettes > SpecialCharacters, then open (say) Technical Symbols. Click on (say) e and see a "double struck e." Mathematica considers "e"  to be simply a letter, and uses the "double struck e" to denote the base of the natural logarithms, with numerical value

N[E]

The palette informs you, if you click on the letter "e", that you can produce e at the point identified by the blinking cursor either (1) by selecting e on the palette and hitting the Insert button, or (2) by typing EsceeEsc. Similarly

Etc. Not all of the special characters can be produced in this way, but most of the most commonly encountered ones can be, and the palettes tell you which can (and how), which can't. Notice in this connection that the

π produced by EscpEsc, else by the Greek Letters palette

functions simultaneously as a letter and as a mathematical constant:

N[π]

On the other hand, the letter "i" is always just a letter: the square root of minus one is always double struck:

(Sqrt[-1])

Relatedly, "capital I"—when it occurs as stand-alone input—is a "Protected Symbol," which is always interpreted to mean a complex number:

N[I]

Similarly protected are C, E and N.

Here is a short list of keyboard commands that produce important mathematical symbols:

Esc*Esc produces ×

EsccrossEsc produces ×

Esc!=Esc produces ≠

Esc===Esc produces ≡

Esc<=Esc produces ≤

Esc>=Esc produces ≥

EscelemEsc produces ∈ (meaning "is an element of")

EscintEsc produces ∫

EscinttEsc produces ∫□d□

EscdinttEsc produces (∫_□^□)□d□

EscsumtEsc produces (∑_(□=□)^□)□

EscprodtEsc produces (∏_(□=□)^□)□

EscdEsc produces ∂

EscdtEsc produces (∂_□) □

Ctrl-2 produces (Sqrt[□])

The prefix "ds" produces "double struck"  upper/lower case letters:

EscdsAEsc produces 𝔸

EscdsaEsc produces 𝕒

EscdsBEsc produces 𝔹

EscdsbEsc produces 𝕓

The prefix "go" produces "Gothic"  upper/lower case letters;

The prefix "sc" produces "script" upper/lower case letters.

The relevant SpecialCharacters palette shows what those look like, and you are in position now to construct them for yourself, so I provide no samplers.

It was easy to obtain such information in Mathematica 5, is less easy in Mathematica 6. But if you go Help > Documentation Center and launch a search for tutorial/EnteringTwoDimensionalExpressionsOverview you will find links that take you to discussions of various specialized aspects of this subject. Or—more quickly—visit MouseOver.

Three Primary Flavors of =

Enter the following:

?=
?:=
?==

What, in plain words, do those statements mean?

Assignment

Mathematica understands that when we write

a=2

we are assigning the meaning/value 2 to the symbol a. So we have

a+1

If we now write

a=Sin[x]

we have reassigned meaning to a:

1-(a^2)
Simplify[%]

Clear[a]

When we write

g=Plot[x Sin[x],{x,0,100}];  (*The semi-colon says to Mathematica "Don't show the figure"*)

we have, in effect, asserted that g will be the name of a graph. Here is an instance of the use of that name:

Show[g]

A mnemonically better name in this instance might have been something like

firstgraph=Plot[x Sin[x],{x,0,100}];
Show[firstgraph]

It was to permit the practice of giving variables/functions/graphs such easily remembered (if long-winded) names that the designers of Mathematica interpret xy to be a compound symbol or "name," and require use of some special device to signify "multiplication":

x y Here the ␣ signifies multiplication; alternatively, use

x*y or  x×y where ×, as we have seen, is produced Esc*Esc. But beware: it will emerge that one must write

x.y if  x and y are matrices that you intend to multiply.

Conversely, spaces cannot be used in names.

It is permitted to make several assignments simultaneously. Try

p=Tom
q=Dick
r=Harry

Notice that a single input (see the cell-bracket on the right) has produced three lines of output. Now, as a test, try

List[p,q,r]
Clear[p,q,r] (*This housekeeping detail as been built right into the command, since List is the last thing we plan to do with p q and r*)

List[p, q, r]

REMARK: This is as good a point as any to see what the Documentation Center has to say about the important concept of a "List."  To that end, enter the command

?List

Be sure to click on the ≫.

Delayed Assignment: Functional Definition

Were we to write

f=(x^3)

(thus giving the name  f to the expression on the right) we would—for some limited purposes—be in position to treat  f  as though it were a  function; try

(∂_x) f
∫f\[DifferentialD]x

Clear[f]

But we would not be in position to ask "What is the value assumed by  f  at  x = 3 ?" Or to plot  f(x) .  Mathematica understands

f[x_]:=(x^3)

(note the presence of the colon) to signify that we intend to delay the assignment of specific value to x; in short, to look upon the preceding command as a description of the functional structure we have assigned to  f[x].  We are only now in position to make commands such as the following:

f[3]
List[f[1],f[2],f[3]]
(∂_x)( ((f[x])^2)+x)
Plot[f[x],{x,0,1}, PlotRange->All]

NOTICE: Four commands, simultaneously entered, produced four distinctly numbered outputs.

NOTE the use of the subscripted _ to identify the "independent variable" x. Its purpose becomes clearer when you look at

f[x_,y_]:=u (x^3)+v (y^3) +w

where we have announced our intention to look upon x, y as variables, and u, v, w as adjustable constants/parameters. The command

(∂_x) f[x,y]

gave a result that is not at all surprising. But the result produced by the command

(∂_u) f[x,y]

is a little bit surprising: Mathematica has uncomplainingly differentiated with respect to a parameter.

Piece-wise Functional Definition

We sometimes encounter functions that are defined "piece-wise."

EXAMPLE: I have in mind a "vee-shaped" function, that I will call vee[x]:

vee[x_]:=1 /; x<-1  
vee[x_]:=-x /; -1<x<0
vee[x_]:=+x /; 0<x<1
vee[x_]:=1 /; 1<x

Plot[vee[x],{x,-2,2}]

NOTE the use of the symbolic construction /;, which means "use this rule when the following test is True."

Mathematica 6 provides a command that does the same job a bit more simply…

?Piecewise

…as I now illustrate:

newvee[x_]:=Piecewise[{{1,x<-1},{-x,-1<x<0},{+x,0<x<1},{1,1<x}}]

Plot[newvee[x], {x, -2, 2}]

Here we  compute the derivative of newvee[x]:

D[newvee[x],x]

An important instance of such a function is the Heaviside  UnitStep function, which is a built-in resource of Mathematica and usually plays a role very like that of an on/off switch:

?UnitStep

Plot[UnitStep[x],{x,-2,2},PlotStyle->{{RGBColor[1,0,0],Thickness[0.01]}}, PlotRange->{0,2}]

Equality Tests

When you intend "equals" in the familiar sense, Mathematica hears you either to be asking a question (are the expressons on left and right equal? to which Mathematica will respond either True or False) or to be stipulating that the expressions on left and right are equal. In either Mathematica expects you to write ==.  Here are some simple examples:

2+2==3
2+2==4

Solve[(ϕ^2)-ϕ-1==0]

We ask for the numerical values of those expressions

N[%]

and observe that the positive root of the equation in question is precisely the "golden ratio":

N[GoldenRatio]

Secondary Flavors of = , and of Some of its Relatives

Constructions like === and =!= (its negation), <, >, <= and => return True/False as output, and are used mainly in Mathematica programing. The first asks whether the expressions on left and right are structurally identical:

3(x^2)===(∂_x) (x^3)

((Sin[x])^2)+((Cos[x])^2)===1
((Sin[x])^2)+((Cos[x])^2)=!=1

In the latter instance we have equality but not structural identity.

For more information, go to Help > Documentation Center and in the search window at the top of the page ask for "Conditionals."

Clear

Open a new notebook, enter f[u] and discover that the definition introduced a while ago is still in force.  It lives in the Kernel, and so will travel with you from notebook to notebook until either you explicitly discard it or terminate this work session; i.e., until either you  Clear the definition or Quit  Mathematica.  Now close and discard your nameless new notebook.

Relatedlyt: suppose you had interest at this point in defining

distance[t_]:=r+(1/2)g (t^2)

To check to see what you have created (always a good idea!), command

distance[t]

and get something weird.  That is because you have previously assigned a meaning to g, and that assignment is still lively:

Show[g]

You might reassign meaning to the symbols f[x] and g, but how do you simply strip away the meanings they have previously acquired;  how do you restore them to the list of undefined symbols? For this purpose Mathematica provides the command Clear.

?Clear

To see how this works, command

Clear[g]

and see that g is now once again just a letter in the alphabet:

g

It is, in particular, no longer the name of a graph:

Show[g]

What about the removal of the function f[x]? The command

?f

reminds us that we have in fact—carelessly—taken f to be the name of two distinct functions. The command

Clear[f]

simultaneously expunges ALL the meanings we have previously associated with the letter f, as we now demonstrate:

f[x]
f[x,y]

It is to avoid this difficulty that one must be careful to assign distinct names to all functions. In  the present instance we might more wisely have written (say)

f1[x_]:=(x^17)
f2[x_,y_]:=u (x^3)+v (y^3)+w

We check those definitions

f1[x]
f2[x,y]

and verify that

Clear[f1]

expunges the former, but not the latter:

f1[x]
f2[x,y]

TIP: One should be careful to clear assignments/definitions when you are finished with them. This frees up memory, and helps avoid distracting surprises and confusion. But you will sometimes forget, so…

TIP: It is a good idea to make Clear[the symbols you plan to use] your first command when, in the midst of a work session, you start a fresh computation.

We will have no immediate need of this more comprehensive command:

?ClearAll

How to Clear a Subscripted Variable

Suppose you have had occasion to define

(Subscript[a, 3])=SomeExpression

and want now to clear (Subscript[a, 3]). The command

Clear[(Subscript[a, 3])]

did not work. Nor does it work to command

Clear[a]

for we still have

(Subscript[a, 3])

How to proceed? Vacate the definition by defining (Subscript[a, 3]) to be "nothing," this way:

(Subscript[a, 3])=.

Test the result:

(Subscript[a, 3])

Sources of Information

Hardcopy Materials

Earlier versions of Mathematica shipped with hardcopy editions of

The release of v.6 has rendered those books obsolete, but not entirely, and has actually increased their value, for with the release of v.6 Wolfram seems to have elected to discontinue the preparation/distribution of such volumes: all such information must now be sought electronically, by consulting resources accessed via the Help menu.

A great many books by authors not associated with Wolfram are available in the market place—visit MouseOver —but most of those are similarly obsolete. Of those, some are addressed to students, others to experts; some provide tutorial overviews, others threat specialized topics (differential equations, graphics, statistics, etc.).

REMARK: To insert the link into that sentence, I used a resouce you can read about if you command

?Hyperlink

and follow the ». More specifically, I entered (in a notebook I am using as "scratch paper") the command

Hyperlink["WolframBooks","http://store.wolfram.com/catalog/books/author.html"]

and then Copy/Pasted the output into this notebook into the sentence where you found it. Note carefully that, while it might be most natural to type "WolframBooks," the command will not function unless you type "WolframBooks",

The Mathematica Journal appears monthly, reads much like American Journal of Physics or Mathematical Monthly (so is, for the most part, readily accessible to students), and is available in the Reed College Library.

Built-in Sources

The primary source of information about v.6 is provided now by Help > Documentation Center, but it is like a Chinese box—arrays of links to arrays of links to arrays of links…  I cannot possibly present a map or those resources, urge you to spend some time exploring on your own to try to gain a vague sense of the lay of the land. You might, in particular, do this non-obvious thing: type Standard Packages in the search window. That will take you to 30 pages of stuff. Now type Physical Constants in the search window, click on Physical Constants Package (Physical Constants Package Tutorial): that will provide indication of the resources that become available once that particular package is installed, and instructions about how to install it. We are told to command

<<PhysicalConstants`

and that we will then have access to information such as the following:

ClassicalElectronRadius

SpeedOfLight

But there exist other/quicker ways to obtain information which are frequently quite useful. Suppose, for example, that we had computed

(∑_(j=0)^∞)((x^j)/(((j+u))^ν))

and find ourselves wondering "What in the world is a 'LerchPhi function'?" We might enter

?LerchPhi

which gives us some little information, and if we enter

??LerchPhi

or equivalently

Information[LerchPhi]

we get more detailed information—some of it pretty cryptic. But—backing up to our starting point—if in

we Select the output (select only the LerchPhi; leave out the [x,ν,u]) and then open Help > Find Selected Function… we are instantly led to a notebook that provides a detailed description of the "Lerch transcendent" and of its relation to (among others) the Riemann zeta and polylog functions.

Under TUTORIALS (near the bottom of the page), open and explore the link to the very valuable Special Functions notebook.

Distinct from Information is Options. We will ask Mathematica itself to describe the difference:

?Information
?Options

Many things—graphics most notoriously—support lots of options. Suppose, for example, we perform

Plot[Sin[x],{x,0,π}]

and then become curious about the options which were available to us; to discover those, we enter

Options[Plot]

What to do with such information? Again, ask Mathematica. Which, for example, about the AlignmentPoint option has this to say:

Information[AlignmentPoint]

Here as always, if you follow the » you will be led to detailed discussion and examples.

Your Own "My Tricks" Notebook

I mention finally an undocumentable resource which will in time become the most valuable of all. Experience is problem-solving, in this sphere as in all others.  When Mathematica has presented difficulties which you have finally overcome (it will, and you will), take the time to record your success in a dedicated notebook. You will then never again have to solve that particular problem, and can use your former success as a Copy/Paste template. For your

Mathematica power=(∑_(t=today)^tomorrow)Problems successfully solved

And don't be too proud to save also—perhaps in a separate notebook of  "Stolen Tricks"—a record of the ideas developed by others that seem to you interesting, or potentially useful. Quite a number of those will be encountered as  we proceed.

Sometimes your "tricks" will consist of programs that run a dozen or more lines (Mathematica programs are seldom very long; that heavy work was done by the designers of the software), but more often they will consist of felicitous selections from among available options. The value of your Tricks Notebooks will be much increased if you include explanatory text and references—easy if you open Window > Show Toolbar. Notice also that you need not add to the end of your notebook: you can introduce new material interstitially, in conformity with some organizational pattern, with categories labled with appropriate Section titles.

Use Mathematica's Edit > Find command, or OSX's Spotlight, to locate material in your notebooks.  The task is made easier if you embellish your notebooks with appropriate tag words and phrases.

Memory Management

If you have interest in how much memory you have used in this work session (prior to the development of OSX that was always a critical consideration, since Mathematica tends to consume lots of memory, and in pre-OSX days memory management was not automatic), command

MaxMemoryUsed[]